![]() PROCEDURE FOR AUTOMATION OF A CONTROL SIGNAL DURING TRAINING A NEURAL NETWORK WITH A BARCODE SCAN
专利摘要:
Techniques are provided for training a neural network, the techniques comprising receiving image scan data from an object, such as a product or package presented to a scan station, the image scan data comprising an image comprising at least one indicia corresponding to the object and physical characteristics of the object. A neural network examines the physical features and determines a weight indicating a correlation strength between the physical feature and an object identification data. As a result, a neural network is trained to identify objects based on their scanned physical characteristics instead of or in conjunction with scanned indicia data. 公开号:BE1026846B1 申请号:E20195906 申请日:2019-12-13 公开日:2021-03-12 发明作者:Sajan Wilfred;Robert James Pang;Christopher J Fjellstad;Przemyslaw Kowalewski 申请人:Zebra Tech Corp; IPC主号:
专利说明:
PROCEDURE FOR AUTOMATING A CONTROL SIGNAL DURING TRAINING A NEURAL NETWORK WITH A BARCODE SCAN BACKGROUND OF THE INVENTION Due to increasing computing power, convolutional neural networks (CNNs) are used for object recognition in captured images. For a CNN to be effective, the input images must be of a high enough quality, there is a need for correctness in training, and the layers and complexity of the neural network must be carefully chosen. Typically, CNNs undergo guided training, in which information about the input images to the CNN is specified by a source, usually by a human. It is to be said that, in guided training, usually someone has to declare to CNN what is actually in the input images. Because a typical training requires a large number of input images - the greater the number of training images, for example, the more effective the CNN training, in general - guided training is a time-consuming process. This is especially the case in environments where images are not standardized, for example where images that appear to be about the same general object or scene can include vastly different, unrelated objects. Another problem with guided training requirements for CNN is the lack of sufficient numbers of training input images of an object, or an imbalance in the number of training images, causing certain objects to appear more often in an imaging training set than other objects, and thus potentially distorting the training of the CNN . CNN training is especially difficult in retail environments, where there are no known images (or image databases) for many of the items to which a Stock Keeping Unit (SKU) is assigned. One of the glaring ways through which the lack of adequate CNN retail product training techniques becomes apparent is in regards to spoofing. Spoofing is a process in which a customer or sales associate attempts to fulfill an item at a barcode scanning station, not by scanning the actual item's barcode, but by masking the actual item's barcode with a barcode of a cheaper item. The cheaper item is forced past the point of sale and the customer pays the corresponding price of the cheaper item, avoiding the actual cost of the item. Accordingly, there is a need for techniques for automating neural network training to accurately use barcode scanning. SUMMARY OF THE INVENTION According to one aspect of the invention, there is provided a computer-implemented method for training a neural network, the method comprising receiving, at one or more processors, image scan data, wherein the image scan data is of an object and physical characteristics of an object. comprising the object and wherein the image scan data comprises at least one indicia corresponding to the object and decoded indication data for determining an identification data of the object obtaining, from the one or more processors, the identification data of the object, correlating, the one or more processors, transferring at least a portion of the image scan data with the object identification data into a correlated data set, to the one or more processors, the correlated data set to a neural network frame, and to the neural network framework, examining at least some of the physical characteristics of the obj ect in the correlated data set, determining a weight for each of the at least some of the object's physical features, each weight being a relative indication of a correlation strength between the physical features and the object's identification data, and the generating or updating the neural network with the determined weights. The computer-implemented method may further comprise deriving, from the neural network, a set of characteristics of physical features for the object based on the determined weights. The at least one indicia can be a barcode, a universal product code, a speed read code, radio frequency identification code, or combinations thereof. The image scan data may include a set of image frames captured from the object and the at least one indicia. The set of image frames captured from the object and from at least one indicia may be received from at least two or more imagers and may be captured at different angles. The computer implemented method may further include determining, at the one or more processors, a product code associated with a product as the identification data for the object. The computer implemented may further comprise, at the neural network frame, determining whether the object recognized by the physical characteristics of the image data set does not match the identification data determined from the at least one indicia. The neural network can be a convolutional neural network. The computer implemented method may further comprise, at the neural network frame, receiving next image scan data including an image data set having a plurality of image frames each comprising object image data, comparing the next image scan data with trained image scan data and identifying object image data variations in the next image scan, and updating the neural network with the object image data variations. The computer implemented method may further comprise, at the neural network frame, receiving subsequent image scan data including an image data set having a plurality of image frames each including object image data and background image data, comparing the next image scan data with trained image scan data, identifying the object image data and the background image data, removing the background image data and generating an object image data set with removed background, and training the neural network with the object image data set with removed background. The computer implemented method may further include training the neural network frame to recognize background image data in image scan data. The background image data may include manual image data. According to another aspect of the invention there is provided a system for training a neural network, the system comprising a server communicatively coupled, via a communication network, to one or more object scanners, the server comprising one or more processors and one or more memories. , the server configured to receive image scan data from the one or more object scanners, via the communication network, wherein the image scan data is of an object and includes physical characteristics of the object and wherein the image scan data has at least one indicia corresponding to the object and decoded indicator data for determining an object identification data, obtaining the object identification data determined from the decoded indication data, correlating at least a portion of the image scan data with the object identification data resulting in a correlated data set, and receiving the correlated data set to a neural ne frame in the server, and at the neural network frame, examining at least some of the physical features of the object in the correlated data set, determining a weight for each of the at least some of the physical features of the object wherein each weight is a relative indication of a correlation strength between the physical characteristics and the identification data of the object, and generating or updating the neural network with the determined weights. The server may be configured to derive, from the neural network, a set of characteristics of physical characteristics for the object based on the determined weights. The at least one indicia can be a barcode, a universal product code, a speed read code, radio frequency identification code, or combinations thereof. The image scan data may include a set of image frames captured from the object and the at least one indicia. The set of image frames captured from the object and from at least one indicia can be captured at different angles. The server may be configured to determine a product key associated with a product as the identification data for the object. The server may be configured to detect, at the neural network frame, whether the object recognized by the physical characteristics of the image data set does not match the identification data determined from the at least one indicia. The server may be configured to identify the at least one indicator data in the image scan data and identify the location of the at least one indicator data in the image scan data. BRIEF DESCRIPTION OF THE DIFFERENT VIEWS OF THE DRAWINGS The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the individual views, together with the detailed description below, are incorporated into and form a part of the specification, and serve to illustrate embodiments of concepts that embody the claimed invention further to illustrate and explain various principles and advantages of those embodiments. FIG. 1 is a block diagram diagram of a system having a training mode for training a neural network and a spoof detection mode for detecting an authorization transaction attempt, in accordance with some embodiments. FIG. 2 is a diagram of an example training of a neural network for spoof detection, in accordance with an example. FIG. 3 is a diagram of another example neural network training with background image data detection and removal, in accordance with an example. FIG. 4 is a diagram of an example training of a neural network based on certain variations on previously trained image data, in accordance with an example. FIG. 5 is a diagram of an example training of a neural network, in accordance with an example. FIG. 6 is a flowchart of a method of training a neural network that can be performed by the system of FIG. 1, in accordance with some embodiments. FIG. 7 is a flowchart of another method of training a neural network that may be implemented by the system of FIG. 1, in accordance with some embodiments. FIG. 8 is a flowchart of a method for detecting a spoofing attempt at the point of sale of FIG. 1 and generating an alarm, in accordance with some embodiments. FIG. 9 is a flowchart of a method for detecting a spoofing attempt at the point of sale of FIG. 1 and overwriting and authorizing a secondary transaction, in accordance with some embodiments. Those of skill in the art will appreciate that elements in the figures are illustrated for simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some elements in the figures may be exaggerated with respect to other elements to improve understanding of embodiments of the present invention. The apparatus and method components, where applicable, are represented by conventional symbols in the drawings, showing only those specific details that are relevant to understanding the embodiments of the present invention so as not to obscure the disclosure with details that would suit those skilled in the art. it will be appreciated that they have the advantage of the description given. DETAILED DESCRIPTION OF THE INVENTION The present invention provides techniques for seamlessly creating images of a product and scanning those images for a barcode, as well as scanning those images for physical features of an object in the image. The barcode data, once scanned and analyzed, can be compared to the physical characteristics obtained for an object, and the data can be compared to determine whether the two types of data correspond to the same object. In various embodiments, the present invention is a method of training a neural network. The method, which is a computer-implemented method implemented on one or more processors, may include receiving, at one or more processors, image scan data. That image scan data can be from an object, such as a product or package presented to a point of sale, distribution location, shipping location, etc. The image scan data can be collected by an imaging device such as, for example, a barcode scanner with an imaging reader, or an imaging reader with an RFID tag reader (radio frequency identification). The image scan data may include an image that includes at least one indicia corresponding to the object, as well as physical characteristics of the object. The indicia can be, for example, a barcode, a universal product code, a speed read code or combinations thereof. In several examples, the method further comprises receiving, at the one or more processors, decoded indicator data for determining identification data for the object. The method may further comprise correlating, at the one or more processors, at least a portion of the image scan data with that identification data to generate a correlated data set. In several examples, the method includes transferring, at the one or more processors, the correlated data set to a machine learning framework, such as a neural network, which can perform a number of operations on the correlated data set. In some examples, the neural network examines at least some of the physical features of the object in the correlated data set and determines a weight for each of those physical features. These weights are a relative indication of a correlation strength between the physical feature and the object identification data. The method further includes generating or updating the neural network with the determined weights to evaluate future image data against the weighted features. In this way, several exemplary methods are provided for training a neural network to identify and authenticate an object based on physical characteristics of the object with a high degree of certainty. The identification of an object based on these physical characteristics can then be compared to a second identification performed based on a scanned indicia. These two identifications can be compared to provide multi-factor authentication of the scanned object to identify false scans, such as point of sale spoof attempts. In some examples, the method further comprises updating through the neural network a set of features for the object with the weights for at least some of the physical features; and deriving a set of physical feature characteristics for the object based on the set of features. In other examples, the present invention includes a system for training a neural network. The system may comprise a server communicatively coupled, via a communication network, to one or more object scanners, such as one or more barcode scanners with imaging readers or an imaging reader with RFID tag reader (radio frequency identification). The server may be configured to receive image scan data from the object scanner, via the communication network, the image scan data being of an object and the image scan data comprising at least one indicia corresponding to the object and the image scan data further comprising physical characteristics of the object. The server may be further configured to receive decoded indication data and determine identification data for the object. The server may correlate at least some of the image scan data with the object identification data resulting in a correlated data set; and the server can receive the correlated data set to a neural network frame in the server. The neural network frame can examine at least some of the physical characteristics for the object in the correlated data set and determine a weight for each of the at least some of the physical characteristics of the object, each weight being a relative indication of a correlation strength between the physical characteristic and the identification data of the object. The neural network framework can then generate or update a trained network model with the determined weights. In some examples, the present invention includes a computer implemented method for detecting spoofs. The method includes receiving, at one or more processors, image scan data, wherein the image scan data is of an object and includes physical characteristics of the object and wherein the image scan data includes at least one indicia corresponding to the object and decoded indicator data for determining a first identification data for the object. The method further comprises trimming, on one or more processors, the image scan data to remove the at least one indicia from the image scan data to generate an image scan data with removed indicia; and providing, to the one or more processors, the image scan data with removed indicia to a neural network for examining the physical features of the object in the image scan data with removed indicia and determining a second identification data based on the physical features. . The method further comprises determining, at the neural network, a match prediction of the image scan data with background removed based on a comparison of the first identification data with the second identification data; and in response to the determination of the match prediction indicating a match, generating an authentication signal, and in response to the determination of the match prediction indicating no match, generating an alarm signal. In other examples, the present invention includes a spoofing detection system. The system includes a server that is communicatively coupled, via a communications network, to one or more object scanners, the server comprising one or more processors and one or more memories. The server may be configured to: receive from one or more processors and from one of the object scanners, receive image scan data, the image scan data being of an object and comprising physical characteristics of the object, and the image scan data comprising at least one corresponding indicia with the object and decoded indication data for determining a first identification data for the object; and at the one or more processors, trimming the image scan data to remove the at least one indicia from the image scan data to generate an image scan data with removed indicia. The server may further be configured to provide, to the one or more processors, the image scan data with deleted indicia to a neural network for examining the physical characteristics of the object in the image scan data with deleted indicia and determining a second identification data. based on the physical characteristics; to the neural network, determining a match prediction of the image scan data with removed indicia based on a comparison of the first identification data with the second identification data. The server may further be configured, in response to the match prediction determination indicating a match, to generate an authentication signal, and in response to the no match match prediction determination, to generate an alarm signal. In some examples, the present invention includes another computer-implemented method for detecting spoofs. That method comprises receiving, at one or more processors, image scan data, wherein the image scan data is of an object and includes physical characteristics of the object and wherein the image scan data includes at least one indicia corresponding to the object and decoded indication data for determining a first identification data for the object; and trimming, at the one or more processors, the image scan data to remove the at least one indicia from the image scan data to generate an image scan data with removed indicia. The method further comprises providing, to the one or more processors, the image scan data with deleted indicia to a neural network for examining the physical characteristics of the object in the image scan data with deleted indicia and determining a second identification data based on the physical characteristics; and determining, at the neural network, a match prediction of the image scan data with removed indicia based on a comparison of the first identification data with the second identification data. This method further comprises, in response to the determination of the match prediction indicating a match, generating a first authentication signal, and in response to the determination of the match prediction indicating no match, generating a second authentication signal different from the match. first authentication signal. For example, the method may include determining a priority difference between the first identification data and the second identification data; and generating the second authentication signal as a signal authenticating a transaction corresponding to which of the first identification data and the second identification data has the highest priority. The method may further include identifying a priority heuristic; determining comprising a priority difference between the first identification data and the second identification data based on the priority heuristic; and generating the second authentication signal as a signal authenticating a transaction corresponding to which of the first identification data and the second identification data having the higher priority based on the priority heuristic. In some examples, the present invention includes a spoofing detection system, said system comprising a server communicatively coupled, via a communications network, to one or more object scanners, the server comprising one or more processors and one or more memories. The server is configured to receive, from one or more processors, image scan data, the image scan data being of an object and comprising physical characteristics of the object and the image scan data having at least one indicia corresponding to the object and decoded indicator data for determining include first identification data for the object; at the one or more processors, cropping image scan data to remove the at least one indicia from the image scan data to generate image scan data with removed indicia; and, to the one or more processors, providing the image scan data with removed indicia to a neural network for examining the physical features of the object in the image scan data with removed indicia and determining a second identification data based on the physical features. . The server is further configured to determine, at the neural network, a match prediction of the image scan data with removed indicia based on a comparison of the first identification data with the second identification data; and in response to the determination of the match prediction indicating a match, generating a first authentication signal, and in response to the determination of the match prediction indicating no match, generating a second authentication signal, different from the first authentication signal, in a in the same way as the method described above and below. FIG. 1 illustrates an exemplary environment in which embodiments of the present invention may be implemented. In the present example, the environment is provided in the form of a facility with a scan location 100 where different goods can be scanned for training a neural network during a training mode and / or for scanning objects for purchase by a customer during a scan authentication mode. . In one example, the scan authentication mode is a spoof detection mode. In the illustrated example, a point of sale location 100 includes a scan station 102 with a scan platform 103, e.g., a vertical and / or horizontal surface, and an object scanner 104 that includes a camera 106 and one or more sensors 112. The scanner 104 can be a portable scanner, a hands-free scanner, or a polyhedral scanner, such as, for example, a bioptic scanner. The camera 106 captures scan image data of an object 108 with an indicia 110, in some examples the camera 106 being a 1D, 2D or 3D image scanner capable of scanning the object 108. In some examples, the scanner 104 may be a barcode image scanner that can scan a 1D barcode, a QR code, a 3D barcode, or other types of the indicia 110, as well as capture images of the object 108 itself. In the illustrated example, the scanner 104 includes sensors 112, which may include an RFID transponder for capturing indication data in the form of an electromagnetic signal received from the indicia 110 when the indicia 110 is an RFID tag, rather than a visual indicia, such as as a barcode. The scanner 104 also includes an image processor 116 and an indicia decoder 118. The image processor 116 may be configured to analyze captured images of the object 108 and perform preliminary image processing, for example, before sending image scan data to a server 120. In exemplary embodiments, the image processor 116 identifies the indicia 110 captured in an image, for example, by performing edge detection and / or pattern recognition, and the indicia decoder 118 decodes the indicia and generates identification data for the indicia 110. The scanner 104 inserts that identification data. the sent scan data. In some embodiments, the image processor 116 may be configured to identify physical features of the object 108, such as the peripheral shape of the object, the approximate size of the object, a size of the packaging portion of the object, a size of the product, etc. the packaging (for example, in the case of a packaged meat product or product), a relative size difference between a product size and a package size, a color of the object, the packaging and / or good, point of sale aisle and store ID from where the item was scanned, shape of the product, weight of the product, variety of the product, especially for fruit, and freshness of the product. The scanner 104 includes one or more processors ("u") and one or more memories ("MEM"), which stores instructions for execution by the one or more processors to perform various operations described herein. The scanner 104 further includes a transceiver ("XVR") for communicating image scan data, etc. via a wireless and / or wired network 114 to an anti-spoof server 120. The transceiver may include a Wi-Fi transceiver for communication. with an image processing and anti-spoof server 120, in accordance with an example. In some examples, the scanner 104 may be a portable device and include a Bluetooth transceiver or other communications transceiver. The scan station 102 further includes a display for displaying scanned product information to a sales associate, customer, or other user. The scan station 102 may further include an input device for receiving further instructions from the user. In exemplary embodiments, the image processing and anti-spoof server 120 has at least two operating modes: a training mode for training a neural network of the server and a scan authentication mode, for example, a spoof detection mode for detecting incorrect scanning of an object or indicia. at the point of sale 100. The server 120 includes one or more processors ("u") and one or more memories ("MEM"), which stores instructions for execution by the one or more processors to perform various operations described herein. The server 120 includes a transceiver ("XVR") for communicating data to and from the scan station 102 over the network 114, using a communication protocol, such as WiFi. The server 120 includes an indicia manager 122, which can record the identification data of the received image scan data and communicate that recorded data to an inventory management controller 124 for identifying product data associated with the decoded indicia 110. In examples where the image scan data does not include decoded identification data, the indicia manager 122 may perform the indicia decoding operations described above as performed by the scanner 104. In other examples, one or more of the processes associated with indicia decoding may be distributed between the scanner 104 and the server 120. The inventory management controller 124 takes the received identification data and identifies characteristic data (also called product data) corresponding to the indicia 110 and so on. corresponding to the object 108. Such characteristic data may include object name, SKU number, object type, object cost, physical characteristics of the object, and other information. An imaging feature manager 126 receives the image scan data from the scanner 104 and performs image processing to identify one or more physical features of the object 108, such as the peripheral shape of the object, the approximate size of the object, a size of the packaging portion of the object. the object, a size of the product in the packaging (for example in the case of a packaged meat product or product), a relative size difference between a size of the product and a size of the packaging, a color of the object, packaging, and shape of the product. In other examples, the physical characteristics may be determined in whole or in part by the image processor 116 and transferred from the scanner 104 to the server 120 in the image scan data. In the exemplary embodiment, the imaging feature manager 126 stores recorded physical features of objects in an imaging feature data set 128. In some examples, the data set 128 stores previously identified physical features, weighting factors for physical features, and correlation data for physical features, through a correlation analyzer 136 as discussed in more detail herein. The indicia manager 122 and the imaging feature manager 126 are coupled to a neural network frame 130 having a training mode and a spoof detection mode. As discussed in several examples herein, the neural network frame 130, in a training mode, analyzes physical features of objects and determines weights for those physical features, these weights providing a relative indication of how strong a correlation between the physical features and the identification data of the object is. Physical features with higher weights are more likely to correlate with a particular object (and therefore indicate the likely presence of that object in future image scan data), than physical features with lower weights. For example, the neural network frame 130 may be configured as a convolutional neural network that uses a multi-layer classifier to assess each of the identified physical characteristics and determine respective weights for each. Weight values for the physical features may be stored as weighted image data 132. From the determined weighted values, the neural network frame 130 generates a trained neural network 134 to classify subsequent image scan data and identify the object or objects therein by analyzing the physical image data. characteristics captured in those subsequent images. As described herein, current techniques employ a trained prediction model to evaluate received images of an object (with or without indicia) and classify those images to determine a product associated with the object and product identification data, which are then used to prevent fraud attempts, such as spoofing. In several several examples herein, that prediction model is trained using a neural network, and as such, that prediction model is referred to herein as a "neural network" or "trained neural network." The neural network described herein can be configured in several ways. In some examples, the neural network can be a deep neural network and / or a convolutional neural network (CNN). In some examples, the neural network can be a distributed and scalable neural network. The neural network can be modified in several ways, including providing a specific top layer such as, but not limited to, a logistic regression top layer. A convolutional neural network can be thought of as a neural network comprising sets of nodes with bound parameters. A deep convolutional neural network can be thought of as a stacked structure with a multitude of layers. In examples herein, the neural network is described as having a plurality of layers, i.e., a plurality of stacked layers, but any suitable neural network configuration may be used. CNNs are, for example, a machine learning type predictive model used primarily for image recognition and classification. For example, in the exemplary embodiments herein, CNNs may operate with 2D or 3D images, such images being displayed, for example, as a matrix of pixel values in the image scan data. As described, the neural network (e.g., the CNNs) can be used to determine one or more classifications for a particular image by passing the image through the series of computational processing layers. By training and using these different layers, the CNN model can determine the likelihood that an image or physical image features belong to a particular class. Trained CNN models can be continued for restoration and use, and refined through further training. Trained models can reside on any on-premises, temporary or non-temporary, computer storage media such as RAM, flash storage, hard drive, or similar storage hosted on cloud servers. FIG. 2 illustrates a scheme 200 of a training mode in an exemplary implementation. A plurality of scan stations 202A-202C capture images of objects, perform preliminary image processing on those images, identify and decode indicia captured in the images of those objects, and aggregate that information and image scan data that collectively represent a training set of image scan data 204 . Each of the scan stations 202A-202C may represent a scanner in the same facility, such as a store or warehouse, while in other examples, the scan stations 202A-202C may each be in a different facility at a different location. In an example training mode, each of the scan stations 202A-202C captures images of the same object. For example, regardless of where the scan station is located, the scan station captures images of the same package for sale, and all captured images of that package are collected in the training set of image scan data 204. Image scan data is, for example, communicated with a server, such as the server 120 and the server identifies received image scan data as corresponding to the same object by determining the decoded indicia in the received image scan data. In some examples, the server identifies a complete match between decoded indicia. In other examples, the server can still identify images as being of the same object from partial identification of the decoded indicia, because not all image scan data from each scan station can capture the full indicia in the image. However, in other examples, the server may collect all of the image scan data, and instead of grouping images together to form the training set 204, the server may allow a neural network 206 to use machine learning techniques to identify image scan data corresponding to the same object. In some examples, the server itself is configured to identify the indicia data in image scan data and to identify the location of that indicia data. In the training mode, the scan stations 202A-204C, while capturing images of the same object, capture those images from different angles and different orientations. Indeed, such diversity in the captured image scan data is valuable in developing a more robust trained neural network 208. Therefore, the training set 204 may include hundreds, thousands to tens of thousands or more widely varying images of an object. Furthermore, the training set can grow over time even after the trained neural network 208 is generated during an initial execution of the training mode, because the same object is captured during, for example, sales transactions, the captured images can be sent to the server for addition to the training set 204 and for optional use by the neural network framework 206 to update the trained neural network 208. In the scheme 200, an image feature manager 210 identifies at the server physical features, for example those mentioned elsewhere, for each of the image scan data in the training set 204 and generates a labeled image data set 212 for the neural network frame 206. For example, some image scan data may contain an overall shape of the outer contour. of the object. Some image scan data may include only part of the outer outline, but may include an image of the package label with the name of the product or the manufacturer's name. Some image scan data may include images of packages, such as a Styrofoam package, and images of products in that package. Some image scan data may include data on different colored parts of the object. Some image scan data may include a projected 3D volume of the object or a 2D surface of the object, or a 2D surface of a plane of the object. The images of each image scan data can then be tagged with an identification of the physical features identified by the manager 210. In some examples, the server generates the data set 212 by correlating the identified physical features with identification data obtained from the decoded indication data. That is, the data set 212 includes image data labeled with both the identification data identifying the product within the object and the specific physical characteristics captured by the scanner (3D volume, 2D area, etc.). In the illustrated training mode, the neural network frame 206 examines the labeled image data set 212, specifically the identified physical features, and determines a weight for each of those physical features of the object. These weights represent a relative indication of a correlation strength between the physical feature and the object identification data. For example, in an exemplary embodiment using a multi-layer classification algorithm, the neural network frame 206 can determine that a projected 3D volume does not correlate to a high degree with predicting whether a captured image is a box-shaped object. But the neural network frame 206 can determine that a physical feature of a white object with a thin back and red contrasting object above it represents one or a set of physical features that strongly correlate with identifying the object, herein, as a packaged meat product. The neural network determines these weights for each identified physical feature or for combinations of physical features, as a result of using the multi-layer classification algorithm. The neural network frame then initially generates the trained neural network 208 and updates an already existing trained neural network. In the illustrated example, neural network 208 may be trained to identify one to thousands of objects by physical features present in capturing images of an object. FIG. 3 illustrates another scheme 300 with similar features to that of FIG. 2, but shows another example of training mode implementation. In the scheme 300, the training image scan data 204 includes not only images of the object, but also where the images capture the background of the area around the object where the scanning took place. The captured background may include, for example, parts of a store's point of sale region. In the exemplary embodiment, the image feature manager 210 identifies the physical features in the image scan data and sends the correlated image data set 212 to the neural network frame 206, which analyzes that image data set and identifies two types of information in that image data set: object image data 302 and background image data 304. For example, the neural network frame 206 can be used. Compare received image data set 212 'with previously received image scan data to identify abnormal features in the received data set where those abnormal features correspond to background image data recorded by the scan station. For example, background image data may typically be contained in image scan data recorded at the point of sale during a transaction. Background image data can be any image data that is not identified as object image data. Examples include parts of the environment around an object, equipment used at a point of sale station, the hand of scanning personnel, and other nearby and distant image data. The neural network frames described herein can be trained to identify such background image data; and, in one example, that training is continuous during system operation allowing the frame to adapt to changes in the environment in which the object is being scanned. After identifying the background data 204 and the object image data 302, the neural network frame 206 removes the first, and uses only the object image data 302 when updating the neural network 208 '. Therefore, in this manner, the neural network frame 206 can be trained to identify background image data that is not useful in identifying which object is being captured by a scanner and to remove that information. Indeed, frame 206 may, by guided or unguided techniques, develop classifiers for identifying background image data as more image scan data is collected over time. In some examples, while the scheme 300 identifies background image data in images of a particular object or set of objects, the neural network frame 206 develops classifiers for identifying that background image data in all received image scan data, regardless of which object is contained in that image scan data. FIG. 4 illustrates another scheme 400 with similar features to that of FIG. 2, but shows another example of training mode implementation. In the scheme 300, the training image scan data 204 includes images of different versions of the same object. The scanned object can be, for example, a beverage bottle or a package of beverage bottles. In some versions, the drinking bottle has a normal version of the product label on the outside of the bottle. However, in other versions, that product label may be slightly or significantly changed from that normal version. For example, the label may include special markings or modifications for holiday versions of the drinking bottle. In some versions, the bottle itself has changed from the normal bottle shape. In some circumstances, the shape of the bottle changes slightly over time. In any case, the image feature manager 210 records the image scan data. In exemplary embodiments, the neural network frame 206 is trained to receive the image data set 212 and identify only varied object image data 402, for example, physical features that deviate from expected physical features that are already correlated with the object identification data corresponding to the image scan data. For example, the server determines identification data for a scanned object from the decoded indicia. The server determines, based on previous weights, which physical characteristics are correlated with that identification data. The server's neural network frame 206 then identifies, from the newly received image scan data, where anomalies in those physical characteristics occur. For example, the neural network frame 206 may expect an outer 2D profile of a beverage bottle to have a particular profile. The neural network frame 206 may use multi-layer ratings to assess a number of other physical features that confirm that received image scan data is from the beverage bottle, but the neural network frame 206 may further determine that the 2D profile of the beverage bottle is slightly different, such as from year to year. can occur after product changes or due to seasonal changes. In such examples, the neural network frame 206 can identify only the varied object image data 402 and use that data to update the trained neural network 208 '. FIG. 5 illustrates a scheme 500 illustrating that image scan data 502 may include 2D images from scan stations 504A and 504B and 3D image scan data from a bioptic scanner 506 or other 3D imaging device. In one example, the bioptic scanner 506 captures a plurality of 2D images of the object and such 2D images are combined in an image combining processor 508 to form 3D image scan data. In the illustrated example, each of the scan station 504A and 504B and the image combining processing device 508 communicates their respective image scan data over network 512 to an image processing and anti-spoof server 510. As with the other examples described herein, the image processing and anti-spoofing includes spoof server neural network framework. FIG. 6 illustrates a flowchart of a process 600 that may be performed during a training mode of the image processing and anti-spoof system server 120. Image scan data from an object is received at a block 602, for example, from the server 120 of the scanner 104. In the training mode, the image scan data typically includes decoded indication data corresponding to the object. At a block 604, the decoded index data is used to identify a corresponding product associated with that index data, e.g., by querying the inventory management controller 124, resulting in product identification data. At a block 606, the imaging feature manager 126 identifies physical features in the received image scan data. In other examples, the scanner or scan station can determine physical characteristics and send them to the server 120. The features can be identified over the entire image of the image scan data or only a portion thereof. In some examples, block 606 identifies physical features that correspond to a predetermined set of physical features. In some examples, block 606 identifies all identifiable physical features. In some examples, block 606 is configured to identify features in a sequential manner, and identifying physical features stops after a predetermined number of physical features have been identified. In some examples, block 606 may be configured to identify features in an order that corresponds to predetermined weights for the physical features. In any event, the image shapes feature manager 126 in block 606 may perform edge detection, pattern recognition, shape-based image segmentation, color-based image segmentation, or other image processing operations to identify physical features about all or parts of the image scan data. In some examples, the block 606 further performs image processing on these parts to determine physical characteristics of the object, for example, to reduce image noise. In the example of a product as the scan object, such as meat located in a freezer section of a store, the block 606 may identify part of the image scan data as the part of the image scan data that includes the meat and exclude the part of the image scan data that corresponds to a styrofoam packaging of the meat. In other examples, block 606 can identify the reverse, i.e., the portion of the package and not the product, for further analysis. In some examples, the portion of the image scan data is one that includes all or at least some of the indicia. In some examples, the portion of the image scan data includes portions that exclude the indicia, so that authentication that occurs upon spoof detection works on non-overlapping data. In some examples, the image scan data is a 3D image scan data formed of a plurality of points of three-dimensional data, and the portion of the image scan data is either a 2D portion of that 3D image data or a 3D portion thereof. With the image scan data analyzed and the physical features identified, at a block 608, the physical features are determined from the image data correlated with product identification data obtained from the block 604, and that correlated data is sent to a neural network framework implementation block 610. The neural network frame in block 612 develops (or updates) a neural network, in accordance with the exemplary processes described herein. That is, in some examples, the neural network is configured to examine the physical features in the portion of the image scan data, and to determine a weight factor for one or more of those physical features over a large training set of images, where the weight factor is a relative value indicating the probability that the physical feature can accurately identify the product from other products. For example, for products it can be determined that a physical characteristic, such as the overall size of a package or the color of the package, has a higher weight factor compared to a physical characteristic such as the length of the object or the location of the indicia on the object . In some examples, the weighting factor can be determined for a set of associated physical features, which can result in higher object identification accuracy. In some examples, the training neural network of block 612 includes a characteristic set of physical features of the object, this characteristic set presenting the set of features that the neural network has determined to be at least sufficiently predictive of the object. In some examples, this characteristic set may be one that provides object predictions with accuracy greater than 60%, greater than 70%, greater than 80%, greater than 90%, greater than 95%, or greater than 99%. FIG. 7 illustrates another example implementation of the training mode as process 700. Image scan data is received, product identification data is determined from decoded indicia data, and physical features are identified from the images in blocks 702, 704 and 706, respectively, and similar to those described for process 600. At a block 708, a neural network frame compares the identified physical features with previously identified image features in a trained data set by, for example, applying a multi-layer classification process. From the comparison, the block 708 classifies image features into one of three classes: background image data 710, object image data 712, and variations on object image data 714. The classified image data types are sent to a block 716, where the neural network frame develops (or or updates) a neural network, in accordance with the exemplary processes described herein. In another example, the scan station 102 and the server 120 operate in a spoof detection mode. With a neural network trained in accordance with the techniques described herein, the spoof detection mode can detect based on image scan data when scanned image data does not match scanned product identification data. In the spoof detection mode, in an exemplary implementation, the server 120 may authorize a transaction at the point of sale 100, send an alarm to the scan station 102 for an unauthorized transaction at the point of sale 100, or overwrite the transaction and complete a secondary transaction in response to an unauthorized transaction at the point of sale 100. FIG. 8 illustrates an exemplary spoof detection process 800. An image processing and anti-spoof server receives image scan data including decoded indicator data at block 802. At a block 804, the server processes the received image scan data and identifies the indicator image in the image scan data and removes that indicator image from the image scan data. scandata. As a result, the block produces 804 images with the indicia removed. This allows the anti-spoof server to analyze image data independently of the indicia. In a typical spoofing attempt, a customer or sales representative tries to replace the indicia, say, barcode, of a product with an indicia of a cheaper item, which is then billed to the customer to complete the transaction. However, in the process 800, image data is generated at block 804 where the indicia, such as an incorrect indicia, has been removed. The block 804 then identifies image features in the images to generate image features with deleted indicia. That is, these may be image features determined from only that portion of the image scan data that includes image data on the object scanner and not on the indicia in the originally scanned image. In one example, the image features with removed indicia are sent to a block 806 that determines corresponding product information from the image features with removed indicia, for example, using the trained neural network and the weighted image features. In the illustrated example, individual decoded indication data determined from the indicia scanned in the image is sent to a block 808, which individually identifies product information data based on the indicia. Thus, product identification data is determined from two different data, from image data with deleted indicia and from decoded indication data. In a spoofing attempt, the two different dates result in two different identified products. In the illustrated example of process 800, a block 810 determines whether the two product identification dates match, and if so, the transaction is verified and an authentication signal is communicated from the server to the scan station via block 812. If there is no match, then an alarm signal is generated by the server and sent to the scan station via block 814. In some examples, block 810 generates a match prediction in the form of a match prediction score indicating a probability that the product information identified from the image features with deleted indicia matches the product information identified from the decoded indicator data. In some examples, the match prediction is a percentage value. FIG. 9 illustrates another example of a spoof detection process 900. Blocks 902, 904, 906 and 908 function in the same way as corresponding blocks in process 800. At a block 910, an image processing and anti-spoof server compares the two resulting product identification data and determines if there is a match. If there is a match, the transaction is authenticated and an authentication signal is sent from the server to the scan station via a block 912. For example, the block 910 may generate a match prediction in the form of a match prediction score indicating a probability that the product information identified from the image features with deleted indicia matches the product information identified from the decoded indication data. In some examples, the match prediction is a percentage value. However, process 900 differs from process 800 in that, if there is no match, process 900 decides on the transaction instead of sending an alarm. In the illustrated example, the anti-spoof server determines at a block 914 for each of the two identified product information data which of the two product information has higher priority. The priority of a product can be determined by accessing an inventory management controller and obtaining specific product data about the product. The priority of a product can be based on the price of a product, with the more expensive product having a higher priority than the cheaper product. A product's priority can be based on other product data, such as the amount of discount on the price when the product is on sale. The priority can be based on other product data, such as the amount of product stock left, whether the product can be put back on the shelves, traceability of the product, whether the product is perishable, whether the product is in high demand, a category classification of the product, such as whether the product is an essential household item or an essential maintenance item or _ household product versus a non-essential household decoration product, retailer margin on the product, traceability of the product (e.g. 1.a simme TV requiring geo-activation is less likely to be stolen compared to one that does not require activation, 2. a garment with an RFID tag is less likely to be stolen compared to a garment without an RFID tag because the item may still be trackable after sale). Each of these priorities can be determined by applying a priority heuristic (for example: more expensive product wins priority, product of which fewer are in stock wins priority, perishable product wins priority). For example, such priority heuristics can be stored and executed on the server 120. In the process 900, at a block 916, the server determines if a priority heuristic exists, and if not, a regular alarm mode is entered and an alarm signal is generated. from the server to the scan station via block 918. For example, some store managers may send an instruction to the anti-spoof server over a communications network to disable the priority heuristic so that transactions are not overwritten. In the illustrated example, when a priority heuristic exists, the anti-spoof server applies that priority heuristic to a block 920, determines which product is charged at the point of sale, and then the server authenticates the transaction based on that heuristic, communicates transaction data, including an identification of the product and the product price, to the scan station to complete the transaction. In some examples, the anti-spoof server sends a transaction completion signal to the scan station to automatically complete the transaction without further input from the customer, sales associate, etc. at the point of sale. In the foregoing description, specific embodiments have been described. However, those skilled in the art will recognize that various modifications and changes can be made without departing from the scope of the invention as set out in the claims below. Therefore, the description and figures are to be understood by way of illustration rather than limitation, and all such modifications are intended to be included within the scope of the invention of the present description. In addition, the embodiments / examples / implementations described should not be construed as mutually exclusive, and should instead be understood as potentially combinable if such combinations are permissible in any way. In other words, any feature disclosed in any of the above embodiments / examples / implementations may be included in any of the other above embodiments / examples / implementations. The benefits, solutions to problems, and any element (s) that could cause any benefit or solution to occur or become more apparent should not be construed as critical, mandatory or essential features or elements of any or all of the conclusions. The invention is defined solely by the appended claims, including any modifications made during the course of this application and all equivalents to those claims as published. For clarity and brief description, features are described herein as part of the same or separate embodiments, but it is to be understood that the scope of the invention may include embodiments having combinations of all or some of the features described. It will be understood that the embodiments shown have the same or similar components, except where they are described as being different. In addition, relational terms such as first and second, top and bottom, and the like, may be used herein only to distinguish an entity or action from another entity or action without necessarily requiring or requiring an actual relationship or sequence between such entities or actions. imply. The terms “comprise”, “comprising”, “has”, “having”, “contains”, “containing” or any variation thereof are intended to cover a non-exclusive inclusion, so that a process, method, article, or assembly that a list includes, has, contains not only those elements but may also contain other elements not explicitly mentioned or inherent in such a process, method, item, or assembly. An element preceded by “comprises… a”, “has… a”, “contains… a” does not exclude, without further restrictions, the existence of additional identical elements in the process, method, article or arrangement that comprises, has or contains the element. The term “one” is defined as one or more unless explicitly stated otherwise. The terms "substantially", "essential", "near", "approximately" or any other version thereof are defined as close to what is understood by those of skill in the art, and in a non-limiting embodiment, the term is defined as being within 10% , in another embodiment within 5%, in another embodiment within 1%, and in another embodiment within 0.5%. The term "linked" is defined herein as linked, but not necessarily directly and not necessarily mechanically. A device or structure that has been “configured” in some way is configured in at least that way, but can also be configured in ways not described. It will be appreciated that some embodiments may be contained in one or more generic or specialized processors (or "processing devices") such as microprocessors, digital signal processors, custom processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) which direct the one or more processors to implement, in conjunction with certain non-processor circuitry, some, most, or all of the functions of the method and / or arrangement described herein. Alternatively, some or all of the functions can be implemented by a state machine that does not contain any stored program instructions, or in one or more application specific integrated circuits (ASICs), in which any function or some combinations of certain functions are implemented as custom logic. Of course, a combination of the two approaches could be used. In addition, one embodiment can be implemented as a computer-readable storage medium with computer-readable code stored thereon for programming a computer (e.g., comprising a processor) to perform a method as described herein and for which rights are pending. Examples of such computer readable storage media include, but are not limited to, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (read-only memory), a PROM (programmable read-only memory), an EPROM (erasable programmable read-only memory), an EEPROM (electrically erasable programmable read-only memory), and a flash memory. Furthermore, it is expected that, notwithstanding potentially significant efforts and many design choices motivated by, for example, available time, current technology and economic considerations, when guided by the concepts and principles described herein, those skilled in the art will be readily able to use such software instructions and software. generate programs and ICs with minimal experimentation. The summary of the disclosure is provided to give the reader a quick impression of the nature of the technical description. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing "detailed description", it can be seen that different features are grouped together in different embodiments to streamline the description. This manner of description cannot be interpreted as reflecting an intention that the claimed embodiments require more features than those expressly set forth in each claim. Rather, as the following claims reflect, there is inventive matter in less than all of the features of a single described embodiment. Thus, the following claims are included in the “detailed description”, each claim standing alone as subject matter individually for which rights are sought. The mere fact that certain measures are defined in mutually different claims does not indicate that a combination of these measures cannot be used to an advantage. A multitude of variants will be apparent to those skilled in the art. All variants are understood to fall within the scope of the invention which is defined in the following claims.
权利要求:
Claims (20) [1] A computer-implemented method for training a neural network, the method comprising: receiving, from one or more processors, image scan data, wherein the image scan data is of an object and includes physical characteristics of the object, and wherein the image scan data is at least one indicia corresponding to the object and comprising decoded indication data for determining an identification data of the object; obtaining, at the one or more processors, the identification data of the object; correlating, at the one or more processors, at least a portion of the image scan data with the object identification data resulting in a correlated data set; transferring, to the one or more processors, the correlated data set to a neural network frame; and at the neural network frame, examining at least some of the physical features of the object in the correlated data set; determining a weight for each of the at least some of the physical features of the object, each weight being a relative indication of a correlation strength between the physical features and the identification data of the object, and generating or updating the neural network with the determined weights. [2] The computer-implemented method of claim 1, further comprising: deriving, from the neural network, a set of physical characteristics characteristics for the object based on the determined weights. [3] The computer-implemented method of claim 1 or 2, wherein the at least one indicia is a barcode, a universal product code, a speed read code, radio frequency identification code or combinations thereof. [4] The computer-implemented method of claim 1, 2 or 3, wherein the image scan data includes a set of image frames captured from the object and the at least one indicia. [5] The computer-implemented method of claim 4, wherein the set of image frames captured from the object and received from at least one indicia are from at least two or more imagers and captured at different angles. [6] The computer-implemented method of any preceding claim, further comprising: determining, at the one or more processors, a product code associated with a product as the identification data for the object. [7] The computer-implemented method of any preceding claim, further comprising, on the neural network frame, determining whether the object recognized by the physical features of the image data set does not match the identification data determined from the at least one indicia. [8] The computer-implemented method of any preceding claim, wherein the neural network is a convolutional neural network. [9] The computer-implemented method of any preceding claim, further comprising: at the neural network frame, receiving subsequent image scan data comprising an image data set having a plurality of image frames each comprising object image data; comparing the next image scan data with trained image scan data and identifying object image data variations in the next image scan; and updating the neural network with the object image data variations. [10] The computer-implemented method of any one of claims, further comprising: at the neural network frame, receiving subsequent image scan data comprising an image data set having a plurality of image frames each comprising object image data and background image data; comparing the next image scan data with trained image scan data, identifying the object image data and the background image data, removing the background image data, and generating an object image data set with the background removed; and training the neural network with the background removed object image data set. [11] The computer-implemented method of claim 10, further comprising: training the neural network frame to recognize background image data in image scan data. [12] The computer-implemented method of claim 10 or 11, wherein the background image data includes hand image data. [13] A system for training a neural network, the system comprising: a server communicatively coupled, via a communication network, to one or more object scanners, the server comprising one or more processors and one or more memories, the server configured for: receiving image scan data from the one or more object scanners, via the communication network, wherein the image scan data is of an object and includes physical characteristics of the object and wherein the image scan data is at least one indicia corresponding to the object and decoded indication data for determining an identification data of the object; obtaining the identification data for the object determined from the decoded indication data; correlating at least a portion of the image scan data with the object identification data resulting in a correlated data set; and receiving the correlated data set to a neural network frame in the server and to the neural network frame, examining at least some of the physical features of the object in the correlated data set; determining a weight for each of the at least some of the physical features of the object, each weight being a relative indication of a correlation strength between the physical features and the identification data of the object, and generating or updating the neural network with the determined weights. [14] The system of claim 13, wherein the server is configured to: derive, from the neural network, a set of physical characteristics characteristics for the object based on the determined weights. [15] The system of claim 13 or 14, wherein the at least one indicia is a bar code, a universal product code, a speed read code, radio frequency identification code, or combinations thereof. [16] The system of claim 13, 14 or 15, wherein the image scan data comprises a set of image frames captured from the object and the at least one indicia. [17] The system of claim 16, wherein the set of image frames captured from the object and from at least one indicia are captured at different angles. [18] The system of any of claims 13-17, wherein the server is configured to: determine a product key associated with a product as the identification data for the object. [19] The system of any of claims 13-18, wherein the server is configured to detect, on the neural network frame, whether the object recognized by the physical characteristics of the image data set does not match the identification data determined from the at least one indicia . [20] The system of any of claims 13-19, wherein the server is configured to: identify the at least one indicator data in the image scan data and identify the location of the at least one indicia data in the image scan data.
类似技术:
公开号 | 公开日 | 专利标题 US11216868B2|2022-01-04|Computer vision system and method for automatic checkout BE1026846B1|2021-03-12|PROCEDURE FOR AUTOMATION OF A CONTROL SIGNAL DURING TRAINING A NEURAL NETWORK WITH A BARCODE SCAN EP3910608A1|2021-11-17|Article identification method and system, and electronic device US10055626B2|2018-08-21|Data reading system and method with user feedback for improved exception handling and item modeling US20170083884A1|2017-03-23|System and method for automatic identification of products RU2739542C1|2020-12-25|Automatic registration system for a sales outlet Moorthy et al.2015|Applying image processing for detecting on-shelf availability and product positioning in retail stores EP3629276A1|2020-04-01|Context-aided machine vision item differentiation US10824902B2|2020-11-03|Mislabeled product detection US20200192608A1|2020-06-18|Method for improving the accuracy of a convolution neural network training image data set for loss prevention applications US10769399B2|2020-09-08|Method for improper product barcode detection US20200202091A1|2020-06-25|System and method to enhance image input for object recognition system US11210488B2|2021-12-28|Method for optimizing improper product barcode detection US20190378389A1|2019-12-12|System and Method of Detecting a Potential Cashier Fraud AU2019397995B2|2021-12-23|Method for improving the accuracy of a convolution neural network training image dataset for loss prevention applications CN111445267A|2020-07-24|Food anti-counterfeiting traceability system and method based on RFID US20210295078A1|2021-09-23|Multiple field of view | vision system US10891561B2|2021-01-12|Image processing for item recognition US20210097517A1|2021-04-01|Object of interest selection for neural network systems at point of sale US20210374373A1|2021-12-02|Barcode readers with 3d camera| US20220051215A1|2022-02-17|Image recognition device, control program for image recognition device, and image recognition method Helmi et al.2021|Quantum Checkout: An Improved Smart Cashier-less Store Checkout Counter System with Object Recognition CN110909698A|2020-03-24|Electronic scale recognition result output method, system, device and readable storage medium
同族专利:
公开号 | 公开日 BE1026846A1|2020-07-02| US20200193281A1|2020-06-18|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US20100217678A1|2009-02-09|2010-08-26|Goncalves Luis F|Automatic learning in a merchandise checkout system with visual recognition| US20170323376A1|2016-05-09|2017-11-09|Grabango Co.|System and method for computer vision driven applications within an environment| US11062104B2|2019-07-08|2021-07-13|Zebra Technologies Corporation|Object recognition system with invisible or nearly invisible lighting| US20210097517A1|2019-09-26|2021-04-01|Zebra Technologies Corporation|Object of interest selection for neural network systems at point of sale|
法律状态:
2021-05-07| FG| Patent granted|Effective date: 20210312 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US16/218,969|US20200193281A1|2018-12-13|2018-12-13|Method for automating supervisory signal during training of a neural network using barcode scan| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|